#version 450 core

uniform float offsetX;

mat4 Translate(float x, float y, float z)
{
    // glsl矩阵存储使用的是列主序，前4个实际上是矩阵的列
    mat4 s = mat4(1.0, 0.0, 0.0, 0.0,
                0.0, 1.0, 0.0, 0.0,
                0.0, 0.0, 1.0, 0.0,
                x, y, z, 1.0);
    return s;
}

void main()
{
    const vec4 positions[3] = {
        vec4(0.25, -0.25, 0.0, 1.0),
        vec4(-0.25, -0.25, 0.0, 1.0),
        vec4(0.0, 0.25, 0.0, 1.0)
    };
    mat4 translate = Translate(0.2, 0.0, 0.0);
    gl_Position = positions[gl_VertexID] + vec4(offsetX, 0.0, 0.0, 0.0);
}
